package cc.rengu.igas.route.common.constant;

/**
 * 智能路由参数常量
 *
 * @author xlz
 * @version 1.0
 * @date 2020/5/8
 */
public class SmartRouteParamConstant {
    /**
     * 智能路由虚拟渠道，交易码映射表中所有交易从IGRT发起到对应的通道
     */
    public static final String IGRT = "IGRT";
    /**
     * 开关标志
     */
    public static final String YES = "Y";
    public static final String NO = "N";
    public static final char CHAR_NO_UPPER = 'N';
    public static final char CHAR_NO_LOWER = 'n';
    public static final String ALL = "*";

    /**
     * 字符串0
     */
    public static final String STRING_DEFAULT_ZERO = "0";
    public static final String STRING_TWO_ZERO = "00";
    /**
     * 字符串100
     */
    public static final String STRING_ONE_HUNDRED = "100";

    /**
     * 整数100
     */
    public static final int INT_ONE_HUNDRED = 100;

    /**
     * 整数4
     */
    public static final int INT_FOUR = 4;
    /**
     * 整数2
     */
    public static final int INT_TWO = 2;
    /**
     * 整数0
     */
    public static final int INT_ZERO = 0;

    /**
     * 日期格式 yyyyMMddHHmmss
     */
    public static final String FORMAT_DATE_TIME14 = "yyyyMMddHHmmss";
    /**
     * 日期格式 yyyy-MM-dd HH:mm:ss.SSS
     */
    public static final String FORMAT_DATE_TIME23 = "yyyy-MM-dd HH:mm:ss.SSS";
    /**
     * 日期格式 yyyy-MM-dd HH:mm:ss
     */
    public static final String FORMAT_DATE_TIME19 = "yyyy-MM-dd HH:mm:ss";
    /**
     * 日期格式 时分秒
     */
    public static final String FORMAT_DATE_TIME6 = "HHmmss";
    /**
     * ISO日期时间格式 yyyy-MM-ddTHH:mm:ss
     */
    public static final String FORMAT_DATE_TIME_ISO_DATE_TIME = "yyyy-MM-ddTHH:mm:ss";

    /**
     * 智能路由配置表缓存前缀
     */
    public static final String ROUTER_REDIS_DATA_LOAD_FLAG = "ROUTE_REDIS_DATA_LOAD_FLAG";
    /**
     * 路由规则配置入口缓存前缀
     */
    public static final String ROUTE_CONF_RULE = "ROUTE_CONF_RULE";
    /**
     * 路由规则配置静态路由缓存前缀
     */
    public static final String ROUTE_CONF_STATIC = "ROUTE_CONF_STATIC";
    /**
     * 路由规则配置多路比例路由缓存前缀
     */
    public static final String ROUTE_CONF_MULTI = "ROUTE_CONF_MULTI";
    /**
     * 路由规则配置智能路由配置缓存前缀
     */
    public static final String ROUTE_CONF_SMART = "ROUTE_CONF_SMART";
    /**
     * 路由规则配置通道优先级前缀
     */
    public static final String ROUTE_CONF_PRIO = "ROUTE_CONF_PRIO";
    /**
     * 路由规则交易映射缓存前缀
     */
    public static final String ROUTE_CONF_TXN_NUM_MAP = "ROUTE_CONF_TXN_NUM_MAP";
    /**
     * 路由规则统计交易信息缓存前缀
     */
    public static final String ROUTE_CONF_DST_TXN_AUTH = "ROUTE_CONF_DST_TXN_AUTH";
    /**
     * 多路比例动态统计数据
     */
    public static final String ROUTE_DATA_MULTI = "ROUTE_DATA:MULTI";
    /**
     * 智能路由动态统计数据
     */
    public static final String ROUTE_DATA_SMART = "ROUTE_DATA:SMART";
    /**
     * 通道压力前缀
     */
    public static final String ROUTE_DATA_ALL_STRESS = "ROUTE_DATA:ALL:STRESS";
    /**
     * 交易总比数前缀
     */
    public static final String ROUTE_DATA_ALL_TOTAL_COUNT = "ROUTE_DATA:ALL:TOTALCOUNT";
    /**
     * 交易成功笔数前缀
     */
    public static final String ROUTE_DATA_ALL_SUCC_COUNT = "ROUTE_DATA:ALL:SUCCCOUNT";
    /**
     * 通道成功率前缀
     */
    public static final String ROUTE_DATA_ALL_SUCCRATE = "ROUTE_DATA:ALL:SUCCRATE";
    /**
     * 通道响应时间
     */
    public static final String ROUTE_DATA_ALL_TIMECOST = "ROUTE_DATA:ALL:TIMECOST";
    /**
     * 银联全渠道无跳转支付业务
     */
    public static final String UPACWTZ = "00";
    /**
     * 银联全渠道代收业务
     */
    public static final String UPACDS = "01";
    /**
     * 银联全渠道代付业务
     */
    public static final String UPACDF = "02";
    /**
     * 银联无卡快捷支付业务
     */
    public static final String NCQSZF = "03";
    /**
     * 网联协议支付业务
     */
    public static final String NUCCZF = "04";
    /**
     * 本行快捷支付业务
     */
    public static final String ESBZF = "05";
    /**
     * 大额
     */
    public static final String HVPS = "HVPS";
    /**
     * 小额
     */
    public static final String BEPS = "BEPS";
    /**
     * 超网
     */
    public static final String IBPS = "IBPS";
    /**
     * 城银清
     */
    public static final String CCBC = "CCBC";
    /**
     * 银联全渠道
     */
    public static final String UPAC = "UPAC";
    /**
     * 厦门银联
     */
    public static final String XMUP = "XMUP";
    /**
     * 银联无卡快捷
     */
    public static final String NCQS = "NCQS";
    /**
     * 网联
     */
    public static final String NUCC = "NUCC";
    /**
     * 本行母行
     */
    public static final String ESB = "ESB";
    /**
     * 本行子母间划转
     */
    public static final String ESBMS = "ESBMS";

    /**
     * 需要拼接的类名称
     */
    public static final String CHECKVERELE = "CheckVerificaElement";
    /**
     * 需要拼接的类名称
     */
    public static final String PACKAGEPATH = "cc.rengu.igas.route.core.realize.payment.impl.";
    public static final String PARAM_TYPE_PREFIX_CHANNEL_INSTANCE = "ROUTE-CHANNEL-INSTANCE-";

    /**
     * 统一业务类型转换 转换到银联全渠道
     */
    public static final String ROUTE_BIZTP2UPAC = "ROUTE-BIZTP2UPAC";
    /**
     * 统一业务类型转换 转换到银联无卡快捷
     */
    public static final String ROUTE_BIZTP2NCQS = "ROUTE-BIZTP2NCQS";
    /**
     * 统一业务类型转换 转换到网联
     */
    public static final String ROUTE_BIZTP2NUCC = "ROUTE-BIZTP2NUCC";
    /**
     * 统一业务类型转换 转换到城银清算 实际城银清与二代一样不转换
     */
    public static final String ROUTE_BIZTP2CCC = "ROUTE-BIZTP2CCC";
    /**
     * 统一业务类型转换 转换到人行二代大额
     */
    public static final String ROUTE_BIZTP2HVPS = "ROUTE-BIZTP2HVPS";
    /**
     * 统一业务类型转换 转换到人行二代小额
     */
    public static final String ROUTE_BIZTP2BEPS = "ROUTE-BIZTP2BEPS";
    /**
     * 统一业务类型转换 转换到人行二代网银互联
     */
    public static final String ROUTE_BIZTP2IBPS = "ROUTE-BIZTP2IBPS";

    /**
     * 本行机构参数
     */
    public static final String OPMS_SYS_PARAM = "OPMS_SYS_PARAM";
    public static final String NCQS_INST_CODE = "NCQS_INST_CODE";
    public static final String CORPORATION_ORG_CODE = "CORPORATION_ORG_CODE";
    public static final String CHANNEL_SEQNUM = "ChannelSeqNum";

    /**
     * 限额账户类型为所有账户类型
     */
    public static final String LIMIT_ACCT_TYPE_ALL = "*";
    /**
     * 时间窗口指代任意时间
     */
    public static final String TIME_ALL = "*";
    /**
     * 营业时间窗口类型:自然日
     */
    public static final String NATURE_DAY = "0";
    /**
     * 营业时间窗口类型:工作日
     */
    public static final String WORK_DAY = "1";
    /**
     * 支持银行列表类型为智能路由00
     */
    public static final String SUPPORT_BANK_LIST_TYPE = "00";
    public static final String WITH_HOLDING_PAY_ORDER_INFO = "WITHHOLDINGPAYORDERINFO";

    /**
     * 路由监控
     */
    public static final String ROUT_MONITOR = "ROUT_MONITOR";
}
